#include <iostream>

using namespace std;

void printArray(int arr[], int len) {
    for(int i = 0; i < len; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
}

int main() {

    /*
        数组
        数组的三种定义方法：
        1、数据类型 数组名[数组长度];
        2、数据类型 数组名[数组长度] = { 值1， 值2， ... };
        3、数据类型 数组名[] = { 值1， 值2， ... };
    */

    // 使用第一种定义方式
    int arr1[5];
    arr1[0] = 10;
    arr1[1] = 20;
    arr1[2] = 30;
    arr1[3] = 40;
    arr1[4] = 50;

    // 使用第二种定义方式
    // 如果后边给的不全，会自动补零
    int arr2[5] = { 10, 20, 30, 40, 50 };

    // 使用第三种定义方式
    // 定义数组的时候，必须固定数组长度
    int arr3[] = { 10, 20, 30, 40, 50, 60 };

    // 访问数组元素
    // cout << arr1[0] << endl;
    // cout << arr2[0] << endl;

    // 打印数组
    // cout << sizeof(arr1) << endl;
    // cout << sizeof(int) << endl;
    // cout << sizeof(arr1) / sizeof(int) << endl;

    // 这里如果是指针，输出长度就是8
    // int* p;
    // cout << sizeof(p) << endl;

    // 这里必须传递参数len，不然的话，传进去的就是指针
    int len = sizeof(arr1) / sizeof(int);
    printArray(arr1, len);

    // system("pause");

    return 0;
}
